/*
 * PaginaPrincipal.java
 *
 * Created on 19/05/2010, 10:50:12 AM
 */

package ui;

import acceso.Administrador;
import acceso.Pago;
import acceso.Producto;
import acceso.Proveedor;
import gestion.GestionSpring;
import interfaz.InterfaceEjp;
import java.util.List;
import java.util.Vector;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;

/**
 * PaginaPrincipal
 * 
 * Clase donde se muestra toda informacion al usuario, esta se 
 * comunica con las operaciones de servicio mediante 
 * InterfaceEjp.
 *
 *
 * @author Adriano
 */
public class PaginaPrincipal extends javax.swing.JFrame {

    //Se inicializan estas dos clases para ser utilizadas automaticamente.
    //Inicializacion de la interfaz de comunicacion.
    InterfaceEjp miInterfaceEjp = GestionSpring.getSingleton().MetodoGestion();
    
    private int flag;

    /** Creates new form PaginaPrincipal */
    public PaginaPrincipal() {

        initComponents();
        //Se pide la lista de todos los productos del inventario
        List <Producto> misProductos = miInterfaceEjp.MostrarProductos();
        //Se muestran en el Jtable TablaProducto todos los productos del inventario
        LlenarTablaProducto(misProductos);

        List <Proveedor> misProveedores = miInterfaceEjp.MostrarProveedores();
        LlenarTablaProveedor(misProveedores);

        //Se pide la lista de todos los servicios
        List <Pago> misPagos = miInterfaceEjp.MostrarPagos();
        //Se muestran en el Jtable TablaPago todos los servicios
        LlenarTablaPago(misPagos);

    }

    

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        Principal = new javax.swing.JTabbedPane();
        Proveedores = new javax.swing.JPanel();
        Proveedores1 = new javax.swing.JPanel();
        jLabel25 = new javax.swing.JLabel();
        jLabel24 = new javax.swing.JLabel();
        panelCatalogo = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        tablaCatalogo = new javax.swing.JTable();
        botonAgregarProductoCatalogo = new javax.swing.JButton();
        botonEditarProductoCatalogo = new javax.swing.JButton();
        botonEliminarProductoCatalogo = new javax.swing.JButton();
        panelPedido = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        tablaPedidos = new javax.swing.JTable();
        botonAgregarPedido = new javax.swing.JButton();
        botonEditarPedido = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jScrollPane3 = new javax.swing.JScrollPane();
        TablaProveedor = new javax.swing.JTable();
        agregarProveedor = new javax.swing.JButton();
        eliminarProveedor = new javax.swing.JButton();
        jButton1 = new javax.swing.JButton();
        BuscarProducto2 = new javax.swing.JPanel();
        jLabel7 = new javax.swing.JLabel();
        codigoBuscarProveedor = new javax.swing.JTextField();
        jLabel8 = new javax.swing.JLabel();
        nombreBuscarProveedor = new javax.swing.JTextField();
        jLabel9 = new javax.swing.JLabel();
        tipoBuscarProveedor = new javax.swing.JComboBox();
        buscar = new javax.swing.JButton();
        jLabel4 = new javax.swing.JLabel();
        verProveedorMasCumplidor = new javax.swing.JButton();
        Inventario = new javax.swing.JPanel();
        BuscarProducto = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        CodigoBuscar = new javax.swing.JTextField();
        jLabel2 = new javax.swing.JLabel();
        NombreBuscar = new javax.swing.JTextField();
        jLabel3 = new javax.swing.JLabel();
        TipoBuscar = new javax.swing.JComboBox();
        BotonBuscar = new javax.swing.JButton();
        MostrarProducto = new javax.swing.JScrollPane();
        TablaProducto = new javax.swing.JTable();
        BotonNuevoProducto = new javax.swing.JButton();
        BotonEliminarProducto = new javax.swing.JButton();
        BotonEditarProducto = new javax.swing.JButton();
        AlertaProducto = new javax.swing.JPanel();
        FacturaProducto = new javax.swing.JPanel();
        Mensaje = new javax.swing.JLabel();
        Pagos = new javax.swing.JPanel();
        jPanel1 = new javax.swing.JPanel();
        jLabel5 = new javax.swing.JLabel();
        CodigoPago = new javax.swing.JTextField();
        jLabel6 = new javax.swing.JLabel();
        NombrePago = new javax.swing.JTextField();
        BotonBuscarPago = new javax.swing.JButton();
        jPanel2 = new javax.swing.JPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        TablaPagos = new javax.swing.JTable();
        menpro1 = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        jScrollPane5 = new javax.swing.JScrollPane();
        TablaPagosVenc = new javax.swing.JTable();
        menpro2 = new javax.swing.JLabel();
        jScrollPane6 = new javax.swing.JScrollPane();
        TablaPago = new javax.swing.JTable();
        BotonInsertarPago = new javax.swing.JButton();
        BotonEliminarPago = new javax.swing.JButton();
        BotonEditarPago = new javax.swing.JButton();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        HerramientasCrearAdmin = new javax.swing.JMenuItem();
        SesionCerrarSesion = new javax.swing.JMenu();
        jMenuItem2 = new javax.swing.JMenuItem();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Inversiones E.J.P");

        Principal.setName("Principal"); // NOI18N

        Proveedores.setName("Proveedores"); // NOI18N

        Proveedores1.setName("Proveedores1"); // NOI18N

        jLabel25.setText("Busqueda de proveedores");
        jLabel25.setName("jLabel25"); // NOI18N

        jLabel24.setText("Tabla de Proveedores");
        jLabel24.setName("jLabel24"); // NOI18N

        panelCatalogo.setBorder(javax.swing.BorderFactory.createTitledBorder("Catalogo"));
        panelCatalogo.setName("panelCatalogo"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        tablaCatalogo.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Id", "Nombre", "Marca", "Precio"
            }
        ));
        tablaCatalogo.setName("tablaCatalogo"); // NOI18N
        jScrollPane1.setViewportView(tablaCatalogo);

        botonAgregarProductoCatalogo.setText("Agregar");
        botonAgregarProductoCatalogo.setName("botonAgregarProductoCatalogo"); // NOI18N

        botonEditarProductoCatalogo.setText("Editar");
        botonEditarProductoCatalogo.setName("botonEditarProductoCatalogo"); // NOI18N

        botonEliminarProductoCatalogo.setText("Eliminar");
        botonEliminarProductoCatalogo.setName("botonEliminarProductoCatalogo"); // NOI18N

        javax.swing.GroupLayout panelCatalogoLayout = new javax.swing.GroupLayout(panelCatalogo);
        panelCatalogo.setLayout(panelCatalogoLayout);
        panelCatalogoLayout.setHorizontalGroup(
            panelCatalogoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelCatalogoLayout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 304, Short.MAX_VALUE)
                .addContainerGap())
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelCatalogoLayout.createSequentialGroup()
                .addContainerGap(70, Short.MAX_VALUE)
                .addComponent(botonAgregarProductoCatalogo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(botonEditarProductoCatalogo)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(botonEliminarProductoCatalogo)
                .addGap(31, 31, 31))
        );
        panelCatalogoLayout.setVerticalGroup(
            panelCatalogoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelCatalogoLayout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(panelCatalogoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botonAgregarProductoCatalogo)
                    .addComponent(botonEditarProductoCatalogo)
                    .addComponent(botonEliminarProductoCatalogo))
                .addContainerGap(4, Short.MAX_VALUE))
        );

        panelPedido.setBorder(javax.swing.BorderFactory.createTitledBorder("Pedidos hechos a:"));
        panelPedido.setName("panelPedido"); // NOI18N

        jScrollPane2.setName("jScrollPane2"); // NOI18N

        tablaPedidos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {
                "Id", "Proveedor", "Fecha Llegada", "Status"
            }
        ));
        tablaPedidos.setName("tablaPedidos"); // NOI18N
        jScrollPane2.setViewportView(tablaPedidos);

        botonAgregarPedido.setText("Agregar");
        botonAgregarPedido.setName("botonAgregarPedido"); // NOI18N

        botonEditarPedido.setText("Editar");
        botonEditarPedido.setName("botonEditarPedido"); // NOI18N

        jButton4.setText("Eliminar");
        jButton4.setName("jButton4"); // NOI18N

        jButton5.setText("Actualizar");
        jButton5.setName("jButton5"); // NOI18N

        javax.swing.GroupLayout panelPedidoLayout = new javax.swing.GroupLayout(panelPedido);
        panelPedido.setLayout(panelPedidoLayout);
        panelPedidoLayout.setHorizontalGroup(
            panelPedidoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelPedidoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelPedidoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 314, Short.MAX_VALUE)
                    .addGroup(panelPedidoLayout.createSequentialGroup()
                        .addComponent(botonAgregarPedido)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botonEditarPedido)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jButton4)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(jButton5)))
                .addContainerGap())
        );
        panelPedidoLayout.setVerticalGroup(
            panelPedidoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelPedidoLayout.createSequentialGroup()
                .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 207, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 22, Short.MAX_VALUE)
                .addGroup(panelPedidoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botonAgregarPedido)
                    .addComponent(botonEditarPedido)
                    .addComponent(jButton4)
                    .addComponent(jButton5)))
        );

        jScrollPane3.setName("jScrollPane3"); // NOI18N

        TablaProveedor.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {},
                {},
                {},
                {}
            },
            new String [] {

            }
        ));
        TablaProveedor.setName("TablaProveedor"); // NOI18N
        TablaProveedor.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                TablaProveedorMouseClicked(evt);
            }
        });
        jScrollPane3.setViewportView(TablaProveedor);

        agregarProveedor.setText("Agregar");
        agregarProveedor.setName("agregarProveedor"); // NOI18N
        agregarProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                agregarProveedorActionPerformed(evt);
            }
        });

        eliminarProveedor.setText("Eliminar");
        eliminarProveedor.setName("eliminarProveedor"); // NOI18N
        eliminarProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                eliminarProveedorActionPerformed(evt);
            }
        });

        jButton1.setText("Editar");
        jButton1.setName("jButton1"); // NOI18N
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });

        BuscarProducto2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Buscar Proveedor", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.TOP));
        BuscarProducto2.setName("BuscarProducto2"); // NOI18N

        jLabel7.setText("Codigo:");
        jLabel7.setName("jLabel7"); // NOI18N

        codigoBuscarProveedor.setName("codigoBuscarProveedor"); // NOI18N

        jLabel8.setText("Nombre:");
        jLabel8.setName("jLabel8"); // NOI18N

        nombreBuscarProveedor.setName("nombreBuscarProveedor"); // NOI18N

        jLabel9.setText("Tipo:");
        jLabel9.setName("jLabel9"); // NOI18N

        tipoBuscarProveedor.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Seleccione","Todos", "Papeleria", "Limpieza" }));
        tipoBuscarProveedor.setName("tipoBuscarProveedor"); // NOI18N
        tipoBuscarProveedor.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tipoBuscarProveedorActionPerformed(evt);
            }
        });

        buscar.setText("Buscar");
        buscar.setName("buscar"); // NOI18N
        buscar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                buscarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout BuscarProducto2Layout = new javax.swing.GroupLayout(BuscarProducto2);
        BuscarProducto2.setLayout(BuscarProducto2Layout);
        BuscarProducto2Layout.setHorizontalGroup(
            BuscarProducto2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, BuscarProducto2Layout.createSequentialGroup()
                .addContainerGap(82, Short.MAX_VALUE)
                .addComponent(jLabel7)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(codigoBuscarProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, 92, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel8)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(nombreBuscarProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(33, 33, 33)
                .addComponent(jLabel9)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(tipoBuscarProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(buscar)
                .addGap(41, 41, 41))
        );
        BuscarProducto2Layout.setVerticalGroup(
            BuscarProducto2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(BuscarProducto2Layout.createSequentialGroup()
                .addGroup(BuscarProducto2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(buscar)
                    .addComponent(jLabel9)
                    .addComponent(tipoBuscarProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(codigoBuscarProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel7)
                    .addComponent(jLabel8)
                    .addComponent(nombreBuscarProveedor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        jLabel4.setText("Proveedor mas cumplidor:");
        jLabel4.setName("jLabel4"); // NOI18N

        verProveedorMasCumplidor.setText("Ver");
        verProveedorMasCumplidor.setName("verProveedorMasCumplidor"); // NOI18N

        javax.swing.GroupLayout Proveedores1Layout = new javax.swing.GroupLayout(Proveedores1);
        Proveedores1.setLayout(Proveedores1Layout);
        Proveedores1Layout.setHorizontalGroup(
            Proveedores1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Proveedores1Layout.createSequentialGroup()
                .addGap(39, 39, 39)
                .addGroup(Proveedores1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jLabel24, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel25, javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, Proveedores1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, Proveedores1Layout.createSequentialGroup()
                            .addGap(8, 8, 8)
                            .addComponent(panelCatalogo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(18, 18, 18)
                            .addComponent(panelPedido, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                        .addComponent(BuscarProducto2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 691, Short.MAX_VALUE)
                        .addGroup(javax.swing.GroupLayout.Alignment.LEADING, Proveedores1Layout.createSequentialGroup()
                            .addComponent(jLabel4)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(verProveedorMasCumplidor)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(agregarProveedor)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(eliminarProveedor)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(64, Short.MAX_VALUE))
        );
        Proveedores1Layout.setVerticalGroup(
            Proveedores1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(Proveedores1Layout.createSequentialGroup()
                .addComponent(jLabel25)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(BuscarProducto2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel24)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 121, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(Proveedores1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel4)
                    .addComponent(verProveedorMasCumplidor)
                    .addComponent(eliminarProveedor)
                    .addComponent(agregarProveedor)
                    .addComponent(jButton1))
                .addGap(27, 27, 27)
                .addGroup(Proveedores1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(panelPedido, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(panelCatalogo, javax.swing.GroupLayout.PREFERRED_SIZE, 279, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(53, 53, 53))
        );

        javax.swing.GroupLayout ProveedoresLayout = new javax.swing.GroupLayout(Proveedores);
        Proveedores.setLayout(ProveedoresLayout);
        ProveedoresLayout.setHorizontalGroup(
            ProveedoresLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 775, Short.MAX_VALUE)
            .addGroup(ProveedoresLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(ProveedoresLayout.createSequentialGroup()
                    .addGap(0, 0, Short.MAX_VALUE)
                    .addComponent(Proveedores1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE)))
        );
        ProveedoresLayout.setVerticalGroup(
            ProveedoresLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 621, Short.MAX_VALUE)
            .addGroup(ProveedoresLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(ProveedoresLayout.createSequentialGroup()
                    .addGap(0, 0, Short.MAX_VALUE)
                    .addComponent(Proveedores1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE)))
        );

        Principal.addTab("Proveedores", Proveedores);

        Inventario.setName("Inventario"); // NOI18N

        BuscarProducto.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Buscar Producto", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.TOP));
        BuscarProducto.setName("BuscarProducto"); // NOI18N

        jLabel1.setText("Codigo:");
        jLabel1.setName("jLabel1"); // NOI18N

        CodigoBuscar.setName("CodigoBuscar"); // NOI18N

        jLabel2.setText("Nombre:");
        jLabel2.setName("jLabel2"); // NOI18N

        NombreBuscar.setName("NombreBuscar"); // NOI18N

        jLabel3.setText("Tipo:");
        jLabel3.setName("jLabel3"); // NOI18N

        TipoBuscar.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Todos", "Papeleria", "Limpieza" }));
        TipoBuscar.setName("TipoBuscar"); // NOI18N
        TipoBuscar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                TipoBuscarActionPerformed(evt);
            }
        });

        BotonBuscar.setText("Buscar");
        BotonBuscar.setName("BotonBuscar"); // NOI18N
        BotonBuscar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonBuscarActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout BuscarProductoLayout = new javax.swing.GroupLayout(BuscarProducto);
        BuscarProducto.setLayout(BuscarProductoLayout);
        BuscarProductoLayout.setHorizontalGroup(
            BuscarProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(BuscarProductoLayout.createSequentialGroup()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(CodigoBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(NombreBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jLabel3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(TipoBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, 87, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(BotonBuscar)
                .addContainerGap(43, Short.MAX_VALUE))
        );
        BuscarProductoLayout.setVerticalGroup(
            BuscarProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(BuscarProductoLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(BuscarProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel1)
                    .addComponent(CodigoBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2)
                    .addComponent(NombreBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3)
                    .addComponent(TipoBuscar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(BotonBuscar))
                .addGap(106, 106, 106))
        );

        MostrarProducto.setName("MostrarProducto"); // NOI18N

        TablaProducto.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {

            },
            new String [] {

            }
        ));
        TablaProducto.setName("TablaProducto"); // NOI18N
        MostrarProducto.setViewportView(TablaProducto);

        BotonNuevoProducto.setText("+");
        BotonNuevoProducto.setName("BotonNuevoProducto"); // NOI18N
        BotonNuevoProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonNuevoProductoActionPerformed(evt);
            }
        });

        BotonEliminarProducto.setText("-");
        BotonEliminarProducto.setName("BotonEliminarProducto"); // NOI18N
        BotonEliminarProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonEliminarProductoActionPerformed(evt);
            }
        });

        BotonEditarProducto.setText("Editar");
        BotonEditarProducto.setName("BotonEditarProducto"); // NOI18N
        BotonEditarProducto.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonEditarProductoActionPerformed(evt);
            }
        });

        AlertaProducto.setBorder(javax.swing.BorderFactory.createTitledBorder("Alertas"));
        AlertaProducto.setName("AlertaProducto"); // NOI18N

        javax.swing.GroupLayout AlertaProductoLayout = new javax.swing.GroupLayout(AlertaProducto);
        AlertaProducto.setLayout(AlertaProductoLayout);
        AlertaProductoLayout.setHorizontalGroup(
            AlertaProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 233, Short.MAX_VALUE)
        );
        AlertaProductoLayout.setVerticalGroup(
            AlertaProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 176, Short.MAX_VALUE)
        );

        FacturaProducto.setBorder(javax.swing.BorderFactory.createTitledBorder("Factura"));
        FacturaProducto.setName("FacturaProducto"); // NOI18N

        javax.swing.GroupLayout FacturaProductoLayout = new javax.swing.GroupLayout(FacturaProducto);
        FacturaProducto.setLayout(FacturaProductoLayout);
        FacturaProductoLayout.setHorizontalGroup(
            FacturaProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 233, Short.MAX_VALUE)
        );
        FacturaProductoLayout.setVerticalGroup(
            FacturaProductoLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 236, Short.MAX_VALUE)
        );

        Mensaje.setFont(new java.awt.Font("Tahoma", 0, 12));
        Mensaje.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        Mensaje.setName("Mensaje"); // NOI18N

        javax.swing.GroupLayout InventarioLayout = new javax.swing.GroupLayout(Inventario);
        Inventario.setLayout(InventarioLayout);
        InventarioLayout.setHorizontalGroup(
            InventarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(InventarioLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(InventarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(MostrarProducto, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 504, Short.MAX_VALUE)
                    .addComponent(BuscarProducto, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, InventarioLayout.createSequentialGroup()
                        .addComponent(BotonNuevoProducto)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(BotonEliminarProducto)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(BotonEditarProducto)
                        .addGap(18, 18, 18)
                        .addComponent(Mensaje, javax.swing.GroupLayout.DEFAULT_SIZE, 331, Short.MAX_VALUE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(InventarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(AlertaProducto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(FacturaProducto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );
        InventarioLayout.setVerticalGroup(
            InventarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(InventarioLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(InventarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, InventarioLayout.createSequentialGroup()
                        .addComponent(AlertaProducto, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(18, 18, 18)
                        .addComponent(FacturaProducto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(InventarioLayout.createSequentialGroup()
                        .addComponent(BuscarProducto, javax.swing.GroupLayout.PREFERRED_SIZE, 81, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(MostrarProducto, javax.swing.GroupLayout.DEFAULT_SIZE, 397, Short.MAX_VALUE)))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(InventarioLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(BotonNuevoProducto)
                    .addComponent(BotonEliminarProducto)
                    .addComponent(BotonEditarProducto)
                    .addComponent(Mensaje))
                .addContainerGap())
        );

        Principal.addTab("Inventario", Inventario);

        Pagos.setName("Pagos"); // NOI18N

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Buscar Pagos", javax.swing.border.TitledBorder.LEFT, javax.swing.border.TitledBorder.TOP));
        jPanel1.setName("jPanel1"); // NOI18N

        jLabel5.setText("Codigo:");
        jLabel5.setName("jLabel5"); // NOI18N

        CodigoPago.setName("CodigoPago"); // NOI18N

        jLabel6.setText("Nombre:");
        jLabel6.setName("jLabel6"); // NOI18N

        NombrePago.setName("NombrePago"); // NOI18N

        BotonBuscarPago.setText("Buscar");
        BotonBuscarPago.setName("BotonBuscarPago"); // NOI18N
        BotonBuscarPago.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonBuscarPagoActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel5)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(CodigoPago, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jLabel6)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(NombrePago, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(BotonBuscarPago)
                .addContainerGap(14, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel5)
                    .addComponent(CodigoPago, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel6)
                    .addComponent(NombrePago, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(BotonBuscarPago))
                .addContainerGap())
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Pagos de este mes"));
        jPanel2.setName("jPanel2"); // NOI18N

        jScrollPane4.setName("jScrollPane4"); // NOI18N

        TablaPagos.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {},
                {},
                {},
                {}
            },
            new String [] {

            }
        ));
        TablaPagos.setName("TablaPagos"); // NOI18N
        jScrollPane4.setViewportView(TablaPagos);

        menpro1.setForeground(new java.awt.Color(0, 102, 255));
        menpro1.setText("                     ");
        menpro1.setName("menpro1"); // NOI18N

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 283, Short.MAX_VALUE)
                    .addComponent(menpro1))
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 211, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(menpro1, javax.swing.GroupLayout.PREFERRED_SIZE, 13, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Pagos vencidos"));
        jPanel3.setName("jPanel3"); // NOI18N

        jScrollPane5.setName("jScrollPane5"); // NOI18N

        TablaPagosVenc.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {},
                {},
                {},
                {}
            },
            new String [] {

            }
        ));
        TablaPagosVenc.setName("TablaPagosVenc"); // NOI18N
        jScrollPane5.setViewportView(TablaPagosVenc);

        menpro2.setForeground(new java.awt.Color(0, 102, 255));
        menpro2.setText("                     ");
        menpro2.setName("menpro2"); // NOI18N

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(menpro2, javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane5, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 283, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 145, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(menpro2)
                .addContainerGap())
        );

        jScrollPane6.setName("jScrollPane6"); // NOI18N

        TablaPago.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {},
                {},
                {},
                {}
            },
            new String [] {

            }
        ));
        TablaPago.setName("TablaPago"); // NOI18N
        jScrollPane6.setViewportView(TablaPago);

        BotonInsertarPago.setText("+");
        BotonInsertarPago.setName("BotonInsertarPago"); // NOI18N
        BotonInsertarPago.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonInsertarPagoActionPerformed(evt);
            }
        });

        BotonEliminarPago.setText("-");
        BotonEliminarPago.setName("BotonEliminarPago"); // NOI18N
        BotonEliminarPago.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonEliminarPagoActionPerformed(evt);
            }
        });

        BotonEditarPago.setText("Editar");
        BotonEditarPago.setName("BotonEditarPago"); // NOI18N
        BotonEditarPago.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                BotonEditarPagoActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout PagosLayout = new javax.swing.GroupLayout(Pagos);
        Pagos.setLayout(PagosLayout);
        PagosLayout.setHorizontalGroup(
            PagosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 775, Short.MAX_VALUE)
            .addGroup(PagosLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(PagosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PagosLayout.createSequentialGroup()
                        .addGroup(PagosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 422, Short.MAX_VALUE)
                            .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(PagosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addGroup(PagosLayout.createSequentialGroup()
                                .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGap(10, 10, 10))
                            .addGroup(PagosLayout.createSequentialGroup()
                                .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addContainerGap())))
                    .addGroup(PagosLayout.createSequentialGroup()
                        .addGap(4, 4, 4)
                        .addComponent(BotonInsertarPago)
                        .addGap(2, 2, 2)
                        .addComponent(BotonEliminarPago)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(BotonEditarPago)
                        .addContainerGap())))
        );
        PagosLayout.setVerticalGroup(
            PagosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 540, Short.MAX_VALUE)
            .addGroup(PagosLayout.createSequentialGroup()
                .addGroup(PagosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(PagosLayout.createSequentialGroup()
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(PagosLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jScrollPane6, javax.swing.GroupLayout.DEFAULT_SIZE, 388, Short.MAX_VALUE)))
                .addGap(18, 18, 18)
                .addGroup(PagosLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(BotonInsertarPago)
                    .addComponent(BotonEliminarPago)
                    .addComponent(BotonEditarPago))
                .addGap(22, 22, 22))
        );

        Principal.addTab("Pagos", Pagos);

        jMenuBar1.setName("jMenuBar1"); // NOI18N

        jMenu1.setText("Herramientas");
        jMenu1.setName("jMenu1"); // NOI18N

        HerramientasCrearAdmin.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, java.awt.event.InputEvent.ALT_MASK | java.awt.event.InputEvent.CTRL_MASK));
        HerramientasCrearAdmin.setText("Crear Administrador");
        HerramientasCrearAdmin.setName("HerramientasCrearAdmin"); // NOI18N
        HerramientasCrearAdmin.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                HerramientasCrearAdminActionPerformed(evt);
            }
        });
        jMenu1.add(HerramientasCrearAdmin);

        jMenuBar1.add(jMenu1);

        SesionCerrarSesion.setText("Sesion");
        SesionCerrarSesion.setName("SesionCerrarSesion"); // NOI18N
        SesionCerrarSesion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                SesionCerrarSesionActionPerformed(evt);
            }
        });

        jMenuItem2.setAccelerator(javax.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_F, java.awt.event.InputEvent.SHIFT_MASK | java.awt.event.InputEvent.CTRL_MASK));
        jMenuItem2.setText("Cerrar Sesion");
        jMenuItem2.setName("jMenuItem2"); // NOI18N
        jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jMenuItem2ActionPerformed(evt);
            }
        });
        SesionCerrarSesion.add(jMenuItem2);

        jMenuBar1.add(SesionCerrarSesion);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(Principal, javax.swing.GroupLayout.DEFAULT_SIZE, 780, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addComponent(Principal, javax.swing.GroupLayout.DEFAULT_SIZE, 568, Short.MAX_VALUE)
                .addContainerGap())
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-816)/2, (screenSize.height-638)/2, 816, 638);
    }// </editor-fold>//GEN-END:initComponents

    /**
     * Metodo en el que se realiza la busqueda de productos, segun su clave
     * primaria, su Nombre, o su Tipo (Papeleria o Limpieza).
     *
     */
     
     /**
     * Metodo en el que se realiza la insercion de un nuevo producto.
     */

     /**
     * Metodo en el que se realiza la eliminacion de un producto.
     */

     /**
     * Metodo en el que se realiza modificacion producto.
     */

    private void HerramientasCrearAdminActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_HerramientasCrearAdminActionPerformed

        //Llamada a crear un nuevo administrador.
        NuevoAdministrador miNuevoAdministrador = new NuevoAdministrador();
        miNuevoAdministrador.setMiPaginaPrincipal(this);
        miNuevoAdministrador.setVisible(true);

    }//GEN-LAST:event_HerramientasCrearAdminActionPerformed

    private void SesionCerrarSesionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_SesionCerrarSesionActionPerformed

       

    }//GEN-LAST:event_SesionCerrarSesionActionPerformed

    private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
        this.setVisible(false);
        Login miLogin = new Login();
        miLogin.setVisible(true);
    }//GEN-LAST:event_jMenuItem2ActionPerformed

    private void BotonEditarProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonEditarProductoActionPerformed

        if(TablaProducto.getSelectedRow()==-1)

            JOptionPane.showMessageDialog(this,"Debe seleccionar una fila");

        else{
 EditarProducto miEditarProducto = new EditarProducto ();

            int fila = 1;
            fila = TablaProducto.getSelectedRow();
            //Obtenemos la clave primaria del producto seleccionado para editar.
            Object Objeto = TablaProducto.getValueAt(fila, 0);
            String CodigoModificar = Objeto.toString();
            Long miCodigoModificar = Long.parseLong(CodigoModificar);
            //Seteamos los valores necesarios para realizar la modificacion.
            miEditarProducto.setCodigo(miCodigoModificar);
            miEditarProducto.setMiPaginaPrincipal(this);
            miEditarProducto.setVisible(true);
        }
}//GEN-LAST:event_BotonEditarProductoActionPerformed

    private void BotonEliminarProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonEliminarProductoActionPerformed
        //Se verifica si se a seleccionado un producto en el Jtable TablaProducto
        if(TablaProducto.getSelectedRow()==-1)

            JOptionPane.showMessageDialog(this,"Debe seleccionar una fila");

        else{
 EliminarProducto miEliminarProducto = new EliminarProducto ();
   
            int fila = 1;
            fila = TablaProducto.getSelectedRow();
            //Obtenemos la clave primaria del producto seleccionado para eliminar.
            Object idProducto = TablaProducto.getValueAt(fila, 0);
            String CodigoEliminar = idProducto.toString();
            Long CodigoProductoEliminar = Long.parseLong(CodigoEliminar);
            //Obtenemos el nombre del producto a eliminar.
            Object NombreProducto = TablaProducto.getValueAt(fila, 1);
            String NombreProductoEliminar = NombreProducto.toString();
            //Seteamos valores necesarios para realizar la eliminacion.
            miEliminarProducto.setCodigo(CodigoProductoEliminar);
            miEliminarProducto.setNombre(NombreProductoEliminar);
            miEliminarProducto.setMiPaginaPrincipal(this);
            miEliminarProducto.setVisible(true);
        }
}//GEN-LAST:event_BotonEliminarProductoActionPerformed

    private void BotonNuevoProductoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonNuevoProductoActionPerformed

        NuevoProducto miNuevoProducto = new NuevoProducto();
        miNuevoProducto.setMiPaginaPrincipal(this);
        miNuevoProducto.setVisible(true);
}//GEN-LAST:event_BotonNuevoProductoActionPerformed

    private void BotonBuscarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonBuscarActionPerformed

        //Verifica si el Tipo a buscar es TODOS los productos
        if (TipoBuscar.getSelectedIndex() == 0) {

            List <Producto> misProductos = miInterfaceEjp.MostrarProductos();
            LlenarTablaProducto(misProductos);
        }
        //Verifica si el tipo a buscar es productos de PAPELERIA
        if (TipoBuscar.getSelectedIndex() == 1) {

            List <Producto> misProductosPorTipo =
                    miInterfaceEjp.BuscarProductoPorTipo('P');

            LlenarTablaProducto(misProductosPorTipo);

        }
        //Verifica si el tipo buscar es productos de LIMPIEZA
        if (TipoBuscar.getSelectedIndex() == 2) {

            List <Producto> misProductosPorTipo =
                    miInterfaceEjp.BuscarProductoPorTipo('L');

            LlenarTablaProducto(misProductosPorTipo);
        }
        //Verifica si se a introducido nombre del producto
        if (NombreBuscar.getText().equalsIgnoreCase("")){} else {
            List <Producto> misProductosPorNombre =
                    miInterfaceEjp.BuscarProductoPorNombre(NombreBuscar.getText());

            LlenarTablaProducto(misProductosPorNombre);

        }
        //Verifica si se a introducido codigo o clave primaria del producto
        if (CodigoBuscar.getText().equalsIgnoreCase("")){} else {
            try{
                //Verificamos que el codigo introducido sea numerico.
                Long CodigoProbar = Long.parseLong(CodigoBuscar.getText());
                //Busqueda de el producto con el codigo introducido.
                List <Producto> miProductoPorId =
                        miInterfaceEjp.BuscarProductoPoriD(Long.parseLong(CodigoBuscar.getText()));
                //Mostramos los resultados en el JTable TablaProducto.
                LlenarTablaProducto(miProductoPorId);
            }catch (NumberFormatException NFE){

                JOptionPane.showMessageDialog(this,"El campo Codigo debe ser numerico");
            }

        }
}//GEN-LAST:event_BotonBuscarActionPerformed

    private void TipoBuscarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_TipoBuscarActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_TipoBuscarActionPerformed

    private void TablaProveedorMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_TablaProveedorMouseClicked

    }//GEN-LAST:event_TablaProveedorMouseClicked

    private void agregarProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_agregarProveedorActionPerformed
        NuevoProveedor nuevoProveedor = new NuevoProveedor();
        nuevoProveedor.setMiPaginaPrincipal(this);
        nuevoProveedor.setBounds(0, 0, 370, 520);
        nuevoProveedor.setLocationRelativeTo(null);
        nuevoProveedor.setVisible(true);
        nuevoProveedor.setMiPaginaPrincipal(this);
        this.setEnabled(false);
}//GEN-LAST:event_agregarProveedorActionPerformed

    private void eliminarProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_eliminarProveedorActionPerformed
        if(TablaProveedor.getSelectedRow()==-1) {
            JOptionPane.showMessageDialog(this,"Debe seleccionar una fila");
        }else {
            EliminarProveedor eliminarProveedor1 = new EliminarProveedor();
            eliminarProveedor1.setMiPaginaPrincipal(this);
            eliminarProveedor1.setBounds(0, 0, 320, 180);
            eliminarProveedor1.setLocationRelativeTo(null);
            eliminarProveedor1.setVisible(true);
            eliminarProveedor1.setCodigo(new Long(TablaProveedor.getValueAt(
                    TablaProveedor.getSelectedRow(), 0).toString()));
            eliminarProveedor1.setNombre(TablaProveedor.getValueAt(
                    TablaProveedor.getSelectedRow(), 1).toString());

            this.setEnabled(false);
        }
}//GEN-LAST:event_eliminarProveedorActionPerformed

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
         EditarProveedor editarProveedor = new EditarProveedor();

        Long idProveedor=new Long("0");
        if(TablaProveedor.getSelectedRow()==-1) {
            JOptionPane.showMessageDialog(this,"Debe seleccionar una fila");
        } else{
            idProveedor=new Long(TablaProveedor.getValueAt(TablaProveedor.getSelectedRow(), 0).toString());
            editarProveedor.setCodigo(idProveedor);
            editarProveedor.setBounds(0, 0, 495,490);
            editarProveedor.setLocationRelativeTo(null);
            editarProveedor.setMiPaginaPrincipal(this);
            editarProveedor.setVisible(true);

        }
}//GEN-LAST:event_jButton1ActionPerformed

    private void tipoBuscarProveedorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tipoBuscarProveedorActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_tipoBuscarProveedorActionPerformed

    private void buscarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buscarActionPerformed

        try{
            flag=0;
            Long CodigoProbar=new Long("0");
            if(codigoBuscarProveedor.getText().isEmpty()==false)
                CodigoProbar = Long.parseLong(codigoBuscarProveedor.getText());
            manejoExcepciones.Excepciones.CamposNoLlenos(codigoBuscarProveedor.getText(),
                    nombreBuscarProveedor.getText(), tipoBuscarProveedor.getSelectedIndex());


            InterfaceEjp miInterfaceEjp1 = GestionSpring.getSingleton().MetodoGestion();


            if(tipoBuscarProveedor.getSelectedIndex()==0) {
                if(codigoBuscarProveedor.getText().isEmpty()==false &&
                        nombreBuscarProveedor.getText().isEmpty()==false) {
                    LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorCodigoNombre(
                            new Long(codigoBuscarProveedor.getText()), nombreBuscarProveedor.getText()));
                }else {
                    if(codigoBuscarProveedor.getText().isEmpty()==false) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPoriD(
                                new Long(codigoBuscarProveedor.getText())));

                    }
                    if(nombreBuscarProveedor.getText().isEmpty()==false) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorNombre(
                                nombreBuscarProveedor.getText()));

                    }

                }
            }


            if(tipoBuscarProveedor.getSelectedIndex()==1) {
                if(codigoBuscarProveedor.getText().isEmpty()==false &&
                        nombreBuscarProveedor.getText().isEmpty()==false) {
                    LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorCodigoNombre(
                            new Long(codigoBuscarProveedor.getText()), nombreBuscarProveedor.getText()));
                }else {
                    if(codigoBuscarProveedor.getText().isEmpty()==false) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPoriD(
                                new Long(codigoBuscarProveedor.getText())));

                    }
                    if(nombreBuscarProveedor.getText().isEmpty()==false) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorNombre(
                                nombreBuscarProveedor.getText()));

                    }
                    if(codigoBuscarProveedor.getText().isEmpty() &&
                            nombreBuscarProveedor.getText().isEmpty()) {
                        LlenarTablaProveedor(miInterfaceEjp1.MostrarProveedores());

                    }
                }
            }
            if(tipoBuscarProveedor.getSelectedIndex()==2) {
                if(codigoBuscarProveedor.getText().isEmpty()==false &&
                        nombreBuscarProveedor.getText().isEmpty()==false) {
                    LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorTipoCodigoNombre(
                            'P',new Long(codigoBuscarProveedor.getText()), nombreBuscarProveedor.getText()));
                }else {
                    if(codigoBuscarProveedor.getText().isEmpty()==false) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorIdTipo('P',
                                new Long(codigoBuscarProveedor.getText())));

                    }
                    if(nombreBuscarProveedor.getText().isEmpty()==false) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorNombreTipo('P',
                                nombreBuscarProveedor.getText()));

                    }
                    if(codigoBuscarProveedor.getText().isEmpty() &&
                            nombreBuscarProveedor.getText().isEmpty()) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorTipo('P'));

                    }
                }
            }
            if(tipoBuscarProveedor.getSelectedIndex()==3) {
                if(codigoBuscarProveedor.getText().isEmpty()==false &&
                        nombreBuscarProveedor.getText().isEmpty()==false) {
                    LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorTipoCodigoNombre(
                            'L',new Long(codigoBuscarProveedor.getText()), nombreBuscarProveedor.getText()));
                }else {
                    if(codigoBuscarProveedor.getText().isEmpty()==false) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorIdTipo('L',
                                new Long(codigoBuscarProveedor.getText())));

                    }
                    if(nombreBuscarProveedor.getText().isEmpty()==false) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorNombreTipo('L',
                                nombreBuscarProveedor.getText()));

                    }
                    if(codigoBuscarProveedor.getText().isEmpty() &&
                            nombreBuscarProveedor.getText().isEmpty()) {
                        LlenarTablaProveedor(miInterfaceEjp1.BuscarProveedorPorTipo('L'));

                    }
                }

            }
        } catch (NumberFormatException NFE){

            JOptionPane.showMessageDialog(this,"El campo Codigo debe ser numerico");
        } catch ( manejoExcepciones.Excepciones e){

            JOptionPane.showMessageDialog(this,e.toString().substring(30, e.toString().length()));
        }
    }//GEN-LAST:event_buscarActionPerformed

    private void BotonBuscarPagoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonBuscarPagoActionPerformed


        List <Pago> misPagos = miInterfaceEjp.MostrarPagos();
        LlenarTablaPago(misPagos);


        //Verifica si se a introducido nombre del servicio
        if (NombrePago.getText().equalsIgnoreCase("")){} else {

            List <Pago> misPagosPorNombre =
                    miInterfaceEjp.BuscarPagoPorNombre(NombrePago.getText());

            LlenarTablaPago(misPagosPorNombre);
        }
        //Verifica si se a introducido código o clave primaria del servicio
        if (CodigoPago.getText().equalsIgnoreCase("")){} else {

            try{
                //Verificamos que el código introducido sea numerico.
                Long CodigoPrueba = Long.parseLong(CodigoPago.getText());
                //Busqueda de el servicio con el código introducido.
                List <Pago> miPagoPorId =
                        miInterfaceEjp.BuscarPagoPoriD(Long.parseLong(CodigoPago.getText()));
                //Mostramos los resultados en el JTable TablaPago.
                LlenarTablaPago(miPagoPorId);

            } catch (NumberFormatException NFE){

                JOptionPane.showMessageDialog(this,"El campo Codigo debe ser numerico");
            }
        }
}//GEN-LAST:event_BotonBuscarPagoActionPerformed

        private void BotonInsertarPagoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonInsertarPagoActionPerformed
            NuevoPago miNuevoPago = new NuevoPago();
            miNuevoPago.setMiPaginaPrincipal(this);
            miNuevoPago.setVisible(true);
            Refrescar();
        }//GEN-LAST:event_BotonInsertarPagoActionPerformed

        private void BotonEliminarPagoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonEliminarPagoActionPerformed
            //Se verifica si se a seleccionado un servicio en el Jtable TablaPago
            if(TablaPago.getSelectedRow()==-1)

                JOptionPane.showMessageDialog(this,"Debe seleccionar una fila");

            else{
                EliminarPago miEliminarPago = new EliminarPago();

                int fila = 1;
                fila = TablaPago.getSelectedRow();
                //Obtenemos la clave primaria del servicio seleccionado para eliminar.
                Object idPago = TablaPago.getValueAt(fila, 0);
                String CodigoEliminar = idPago.toString();
                Long CodigoPagoEliminar = Long.parseLong(CodigoEliminar);
                //Obtenemos el nombre del servicio a eliminar.
                Object NombrePago = TablaPago.getValueAt(fila, 1);
                String NombrePagoEliminar = NombrePago.toString();
                //Seteamos valores necesarios para realizar la eliminacion.
                miEliminarPago.setCodigo(CodigoPagoEliminar);
                miEliminarPago.setNombre(NombrePagoEliminar);
                miEliminarPago.setMiPaginaPrincipal(this);
                miEliminarPago.setVisible(true);
            }
        }//GEN-LAST:event_BotonEliminarPagoActionPerformed

        private void BotonEditarPagoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_BotonEditarPagoActionPerformed
           //Se verifica si se a seleccionado un servicio en el Jtable TablaPago
            if(TablaPago.getSelectedRow()==-1)

                JOptionPane.showMessageDialog(this,"Debe seleccionar una fila");

            else{
                EditarPago miEditarPago = new EditarPago();

                int fila = 1;
                fila = TablaPago.getSelectedRow();

                //Obtenemos la clave primaria del servicio seleccionado para editar.
                Object Objeto = TablaPago.getValueAt(fila, 0);
                String CodigoModificar = Objeto.toString();
                Long miCodigoModificar = Long.parseLong(CodigoModificar);
                //Seteamos los valores necesarios para realizar la modificacion.
                miEditarPago.setCodigo(miCodigoModificar);
                miEditarPago.setMiPaginaPrincipal(this);
                miEditarPago.setVisible(true);
            }
        }//GEN-LAST:event_BotonEditarPagoActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new PaginaPrincipal().setVisible(true);
            }
        });
    }


    /**
     * Metodo que actualiza el JTable TablaProducto cuando ocurre una
     * insercion, eliminacion o una modificacion.
     */

    public void Refrescar (){

       List <Producto> misProductos = miInterfaceEjp.MostrarProductos();
       LlenarTablaProducto(misProductos);

       flag=0;
       List <Proveedor> misProveedores = miInterfaceEjp.MostrarProveedores();
       LlenarTablaProveedor(misProveedores);

       List <Pago> misPagos = miInterfaceEjp.MostrarPagos();
       LlenarTablaPago(misPagos);



    }

     /**
     * Metodo en el que se construye el Jtable de productos mediante
     * una lista.
     *
     * @param List <Producto>
     *        Lista de productos.
     */

    public void LlenarTablaProducto (List <Producto> misProductos){
     
       
       if (misProductos == null){

           JOptionPane.showMessageDialog(this, "No se encontraron productos");
       }
       else{

           int i = 0;
           int j = 0;
           DefaultTableModel datos = new DefaultTableModel();
           TablaProducto.setModel(datos);
           Object [] Productos = new Object[7];


               //Agregamos las columnas al JTable.
           datos.addColumn("Codigo");
           datos.addColumn("Nombre");
           datos.addColumn("Tipo");
           datos.addColumn("Descripcion");
           datos.addColumn("Precio");
           datos.addColumn("Cantidad");
           datos.addColumn("Presentacion");

            if (misProductos.size() != 0){
                for (i=0 ; i<misProductos.size() ; i++){
                    Productos [0] = misProductos.get(i).getIdProducto();
                    Productos [1] = misProductos.get(i).getNombre();
                    Productos [2] = misProductos.get(i).getTipo();
                    Productos [3] = misProductos.get(i).getDescripcion();
                    Productos [4] = misProductos.get(i).getPrecio();
                    Productos [5] = misProductos.get(i).getCantidad();
                    Productos [6] = misProductos.get(i).getPresentacion();
                    datos.addRow(Productos);
                }
            }
       }
       }

    /**
     * Metodo que chequea los privilegios del administrador
     *
     * @param Nombre, Password
     *        Info del administrador.
     */
    public void ChequearAdministrador (String Nombre, String Password){

        Administrador miAdministrador =
        miInterfaceEjp.buscarAdminPorNombrePassword(Nombre, Password);

        if (miAdministrador.isTipo() == true){
            HerramientasCrearAdmin.setEnabled(true);
        }else{
            HerramientasCrearAdmin.setEnabled(false);
        }

    }

 
   public void LlenarTablaProveedor (List <Proveedor> misProveedores){

       int i = 0;
       int j = 0;
       DefaultTableModel datos = new DefaultTableModel();

       TablaProveedor.setModel(datos);

       Vector v = new Vector();
  Object [] Proveedor = new Object[7];
       //Agregamos las columnas al JTable.
       datos.addColumn("Identificador");
       datos.addColumn("Rif");
       datos.addColumn("Nombre");
       datos.addColumn("Direccion");
       datos.addColumn("Contacto");
       datos.addColumn("Numero Contacto");
       datos.addColumn("Tipo");
try{
   if(flag!=1)
   {
    manejoExcepciones.Excepciones.listaVacia(misProveedores);
    Vector fila = new Vector();
            if (misProveedores.size() != 0){
                for (i=0 ; i<misProveedores.size() ; i++){
                    Proveedor [0] = misProveedores.get(i).getIdProveedor();
                    Proveedor [1] = misProveedores.get(i).getRif();
                    Proveedor [2] = misProveedores.get(i).getNombre();
                    Proveedor [3] = misProveedores.get(i).getDireccion();
                    Proveedor [4] = misProveedores.get(i).getNombreContacto();
                    Proveedor [5] = misProveedores.get(i).getNumeroContacto();
                    if(misProveedores.get(i).getTipo().equals("P"))
                    Proveedor [6] = "Papeleria";
                    else
                    Proveedor [6] = "Limpieza";


                    datos.addRow(Proveedor);
                }
            }

   }
   }catch(manejoExcepciones.Excepciones e){
JOptionPane.showMessageDialog(this,e.toString().substring(30, e.toString().length()));
}
   }

   /**
     * Metodo en el que se construye el Jtable de pagos mediante
     * una lista.
     *
     * @param List <Pago>
     *        Lista de servicios.
     */
       public void LlenarTablaPago (List <Pago> misPagos){

       int i = 0;
       int j = 0;
       DefaultTableModel datos = new DefaultTableModel();
       TablaPago.setModel(datos);
       Object [] PagosTabla = new Object[4];

       //Agregamos las columnas al JTable de pagos.
       System.out.println("entroo");
       datos.addColumn("Codigo");
       datos.addColumn("Nombre");
       datos.addColumn("Fecha Corte");
       datos.addColumn("Monto");
            if (misPagos.size() != 0){
                for (i=0 ; i<misPagos.size() ; i++){
                    PagosTabla [0] = misPagos.get(i).getIdPago();
                    PagosTabla [1] = misPagos.get(i).getNombre();
                    PagosTabla [2] = misPagos.get(i).getFechaCorte();
                    PagosTabla [3] = misPagos.get(i).getMonto();
                    datos.addRow(PagosTabla);
                }
            }
       }





   


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel AlertaProducto;
    private javax.swing.JButton BotonBuscar;
    private javax.swing.JButton BotonBuscarPago;
    private javax.swing.JButton BotonEditarPago;
    private javax.swing.JButton BotonEditarProducto;
    private javax.swing.JButton BotonEliminarPago;
    private javax.swing.JButton BotonEliminarProducto;
    private javax.swing.JButton BotonInsertarPago;
    private javax.swing.JButton BotonNuevoProducto;
    private javax.swing.JPanel BuscarProducto;
    private javax.swing.JPanel BuscarProducto2;
    private javax.swing.JTextField CodigoBuscar;
    private javax.swing.JTextField CodigoPago;
    private javax.swing.JPanel FacturaProducto;
    private javax.swing.JMenuItem HerramientasCrearAdmin;
    private javax.swing.JPanel Inventario;
    private javax.swing.JLabel Mensaje;
    private javax.swing.JScrollPane MostrarProducto;
    private javax.swing.JTextField NombreBuscar;
    private javax.swing.JTextField NombrePago;
    private javax.swing.JPanel Pagos;
    private javax.swing.JTabbedPane Principal;
    private javax.swing.JPanel Proveedores;
    private javax.swing.JPanel Proveedores1;
    private javax.swing.JMenu SesionCerrarSesion;
    private javax.swing.JTable TablaPago;
    private javax.swing.JTable TablaPagos;
    private javax.swing.JTable TablaPagosVenc;
    private javax.swing.JTable TablaProducto;
    private javax.swing.JTable TablaProveedor;
    private javax.swing.JComboBox TipoBuscar;
    private javax.swing.JButton agregarProveedor;
    private javax.swing.JButton botonAgregarPedido;
    private javax.swing.JButton botonAgregarProductoCatalogo;
    private javax.swing.JButton botonEditarPedido;
    private javax.swing.JButton botonEditarProductoCatalogo;
    private javax.swing.JButton botonEliminarProductoCatalogo;
    private javax.swing.JButton buscar;
    private javax.swing.JTextField codigoBuscarProveedor;
    private javax.swing.JButton eliminarProveedor;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel24;
    private javax.swing.JLabel jLabel25;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JLabel jLabel9;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JLabel menpro1;
    private javax.swing.JLabel menpro2;
    private javax.swing.JTextField nombreBuscarProveedor;
    private javax.swing.JPanel panelCatalogo;
    private javax.swing.JPanel panelPedido;
    private javax.swing.JTable tablaCatalogo;
    private javax.swing.JTable tablaPedidos;
    private javax.swing.JComboBox tipoBuscarProveedor;
    private javax.swing.JButton verProveedorMasCumplidor;
    // End of variables declaration//GEN-END:variables

}
